原帖 | Jack | 2026-01-09 21:56 | 👍1 | 阅读约1
老师我有个问题:
有三个任务,优先级 高(H)、中(M)、低(L)。 有一个共享资源(比如打印机),用锁保护。
L (低) 开始运行,获得了打印机锁 (Take Mutex)。
H (高) 突然醒了(抢占),它也想用打印机,于是它试图拿锁。
因为锁被 L 拿着,H 只能进入阻塞,等待 L 释放。
此时 M (中) 突然醒了(比如定时到了)。M 不需要打印机,它只是单纯想跑 CPU。
这里的L因为有锁他的优先级会比M高吗?
如果是Mutex(支持优先级继承),L 的优先级会被临时提升到 H 的优先级,因此 L 会压过 M 继续运行
相关笔记